package com.example.yyjc.mapper;

import com.example.yyjc.domain.countryanalyze.CountryAnalysisReport;
import com.example.yyjc.domain.industryanalyze.IndustryAnalysisReport;
import com.example.yyjc.domain.selectionanalyze.SelectionAnalysisReport;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @ClassName ReportMapper
 * @Description TODO
 * @Author lvyongwei
 * @Date 2020-12-16 13:48
 **/
@Mapper
public interface ReportMapper {

    /**
     * 添加国家分析实验报告
     * @param countryAnalysisReport
     * @return
     */
    public boolean insertCountryAnalysisReport(CountryAnalysisReport countryAnalysisReport);

    /**
     * 用户查看自己国家分析实验报告
     * @param userId
     * @param data
     * @param userName
     * @return
     */
    public List<CountryAnalysisReport> getCountryAnalysisReports(@Param("userId") Integer userId,@Param("data") String data,@Param("userName") String userName);

    /**
     * 根据实验报告id查询国家分析实验报告
     * @param countryAnalysisId
     * @return
     */
    public CountryAnalysisReport getCountryAnalysisReport(Long countryAnalysisId);

    /**
     * 根据实验报告id删除国家分析实验报告
     * @param countryAnalysisId
     * @return
     */
    public boolean deleteCountryAnalysisReport(Long countryAnalysisId);

    /**
     * 添加行业分析实验报告
     * @param industryAnalysisReport
     * @return
     */
    public boolean insertIndustryAnalysisReport(IndustryAnalysisReport industryAnalysisReport);

    /**
     * 用户查看自己行业分析实验报告
     * @param userId
     * @param data
     * @param userName
     * @return
     */
    public List<IndustryAnalysisReport> getIndustryAnalysisReports(@Param("userId") Integer userId,@Param("data") String data,@Param("userName") String userName);

    /**
     * 根据实验报告id删除行业分析实验报告
     * @param industryAnalysisId
     * @return
     */
    public boolean deleteIndustryAnalysisReport(Long industryAnalysisId);

    /**
     * 添加选品分析实验报告
     * @param selectionAnalysisReport
     * @return
     */
    public boolean insertSelectionAnalysisReport(SelectionAnalysisReport selectionAnalysisReport);

    /**
     * 用户查看自己选品分析实验报告
     * @param userId
     * @param data
     * @param userName
     * @return
     */
    public List<SelectionAnalysisReport> getSelectionAnalysisReports(@Param("userId") Integer userId,@Param("data") String data,@Param("userName") String userName);

    /**
     * 删除选品分析实验报告
     * @param selectionAnalysisId
     * @return
     */
    public boolean deleteSelectionAnalysisReport(Long selectionAnalysisId);
}
